またつまらぬことを調べてしまった。
Windows 7でピクチャのライブラリには複数のフォルダを追加できます。これに属するファイルを全てC#から知りたいわけです。
手順1 §
Windows® API Code Pack for Microsoft® .NET Frameworkを入手する
手順2 §
上記に含まれるMicrosoft.WindowsAPICodePack.Shell.dllへの参照を追加する。
手順3 §
以下の要領でアクセスする
using System;
using Microsoft.WindowsAPICodePack.Shell;
class Program
{
static void Main(string[] args)
{
var fol = KnownFolders.PicturesLibrary;
foreach (var n in fol) Console.WriteLine(n.ParsingName);
}
}
ファイルのフルパスの一覧が得られる……ようだ。ただし、サブフォルダがあるとその名前も含んでしまうらしいので、そこに注意。